1. Field of the Invention
The present invention relates to a motor control apparatus for controlling rotation of a motor in accordance with a position instruction or a velocity instruction from an upper control apparatus, to a motor control apparatus used for driving a transfer table of a machine tool, for example.
2. Description of Related Art
Motor control apparatuses for driving a table of a machine tool using a DC servo motor as shown by the control block in FIG. 11 were generally used through the early 1980s. From about the middle of the 1980s, the system structure as shown in FIG. 12 using a brushless servomotor and a position detector became common because this structure eliminates the need for maintenance of the brushes of the DC servo motor and the velocity detector (tachogenerator), and allows for digital processing of a velocity instruction and a velocity feedback signal to thereby increase precision of the velocity detector by reducing temperature drift of its gain and offset. During the transition period, a brushless tachogenerator having a schematic configuration as shown in FIG. 13 was commonly used as a means to realize brushless structure. The operations of the related art examples as described above will be described.
FIG. 11 is a block diagram showing an example typical structure of a motor control apparatus using a DC motor. A velocity detector 17 is mechanically coupled to the DC motor 15 for detecting the rotation velocity of the DC motor 15. A position detector 18 is also mechanically coupled to the DC motor 15 for detecting the position of a driving target of the motor. A subtractor 1 obtains a difference between a position instruction value θ* supplied from an upper control apparatus and a position detection value θ supplied from the position detector 18. The difference value is multiplied with a position loop gain by a linear amplifier 2 to obtain a velocity instruction value V*. Subsequently, a subtractor 4 obtains a difference between the velocity instruction value V* and a velocity detection value V supplied from the velocity detector 17. The value thus obtained is amplified by a linear amplifier 6 and an integrating amplifier 7, for performing PI control, and outputs from the linear amplifier 6 and the integrating amplifier 7 are added by an adder 8 to provide a current instruction value I*, which is proportional to the motor torque necessary to follow the instruction. A current control section 11 obtains a difference between a current detection value I supplied from a current detector 14 connected to a motor winding and the current instruction value I*, which is further subjected to linear amplification and integrating amplification to obtain an applied voltage instruction value E* to be applied to the motor. A single-phase PWM inverter 12 applies a voltage to the DC motor 15 in accordance with the applied voltage instruction value E*. Thus, the rotation position (rotation angle) of the rotor is controlled so as to comply with the position instruction value θ* supplied from the upper control apparatus. Here, a tachogenerator which is configured such that a magnet is provided on a stator and a plurality of windings are provided on a rotor, and a commutator and a brush are used to extract a winding induced voltage as a DC analog voltage, has been used as the velocity detector 17. Accordingly, the above structure suffers from problems such as a gain error in the winding induced voltage and an offset error in a circuit which processes an analog signal, whereas the applications require high precision.
FIG. 12 is a block diagram showing a typical structure example of a motor control apparatus using an AC motor, as has become commonly employed in current years. In FIG. 12, elements having the same functions as those in FIG. 11 are designated by the same numerals and only the difference between the structures in FIGS. 11 and 12 will be described. The motor 16, which is a three-phase AC motor, is provided with current detectors corresponding to two phases, namely a U phase current detector 14u and a V phase current detector 14v. The current detection values Iu and Iv detected by these current detectors, respectively, are fed back to a current control section 11. Further, a torque instruction value T* output from the adder 8 is converted into a U phase current instruction value Iu* and a V phase current instruction value Iv* in a current distribution section 9 based on the position detection value θ. A three-phase PWM inverter 13 receives inputs of voltage instructions Eu*, Ev*, and Ew* corresponding to three phases, from the current control section 11.
The position detector 18 is a rotary encoder. Because an angular resolution corresponding to 100,000 to 1,000,000 divisions or more per motor rotation is required for the position detector 18, the position detector 18 is configured such that an interpolation signal having a sine wave whose amplitude changes several tens to several thousands of times per rotation of the encoder in accordance with the motor angle is output by a magnetic or optical means. Then, in order to obtain a position detection value θk, a change in the signal amplitude is counted or a signal having a sine wave is sampled by the A/D converter to perform an inverse trigonometric function operation. In this structure, a velocity detector is not used for velocity detection. Rather, the potion detection value θk output from the position detector 18 is subjected to time differentiation in a differentiator 19 to obtain a velocity calculation value dθ/dt. The position detector 18 may be formed using a resolver.
The present invention was made in consideration of precision and responsiveness of velocity detection. The process performed in the differentiator 19 when the position detection period is Δtθwill be described with reference to FIG. 14. In FIG. 14, the timing at which an interpolation signal having a sine wave output from the position detector 18 is indicated by a numeral 300 as position detection data sampling timing. The rotor angle in the instance of sampling is detected. Then, the position detection value θk is obtained after elapse of the position detection delay time tdθto allow for A/D conversion and calculation. The position detection delay time tdθincludes transfer time when data is transferred serially between the position detector 18 and the differentiator 19. Further, the velocity calculation value vk is obtained from the following expression (1) and represents the velocity at the intermediate time point between the sampling timing tk-1 and tk. More specifically, in the following expression (1), the inclination between the two points, (tk-1, θk-1) and (tk, θk), which substantially corresponds to the inclination at the intermediate point between these points, is obtained. Accordingly, the calculation result obtained from the expression (1) is data at the time point which is previous to the sample timing tk by Δtθ/2, and can be approximated as vk≈v(tk−Δtθ/2). In other words, the velocity detection delay time tdv is increased compared to the position detection delay.vk=(θk-1−θk)/(tk−tk-1)  (1)
Although a delay time as above causes no problem under a constant velocity, in a transient state, such a delay time results in a relatively great amount of error components in the high frequency response and deteriorates control characteristics of the motor. In this system, however, because the velocity is calculated by mechanically detecting the position data by the position detector and also by obtaining a difference of the position detection data by a time difference with the precision of a crystal oscillator, a DC gain error and an offset error are not included in the velocity.
In addition to the problem that a gain error and an offset error are included in the velocity detection value as described above, the brushless tachogenerator velocity detector suffers from another problem that torque ripples are generated. This problem will be described with reference to the example structure of a brushless tachogenerator shown in FIG. 13. The brushless tachogenerator includes, as a detection mechanism, a permanent magnet 80 mounted on the rotor section, four sets of windings 82a, 82b, 83a, 83b with which the magnetic flux of the permanent magnet 80 is linked to generate induced voltage, and a pair of Hall sensors 81a, 81b having the magnetic flux detection directions different from each other by 90 degrees in the rotation angle. By selecting the induced voltage va, vb, va-n, or vb-n of each winding 82a, 82b, 83a, 83b by a signal selection switch 84, and inputting the selected induced voltage to a voltage follower circuit 86, an output voltage vo of the velocity detection value is output. Further, a winding selection signal generating section 85 determines, from the outputs from the Hall sensors 81a and 81b, which angle area the north (N) pole of the permanent magnetic 80 is in, and outputs a selector signal sa1, sb1, sa2, or sb2 indicative of which of the four analog switches is to be selected. FIG. 16 shows a signal waveform in each section when the velocity detector rotates at a constant velocity, with the horizontal axis representing the rotation angle θ of the rotor section. The distribution of flux linkage between windings 82a, 82b, 83a, and 83b and the magnet 80 is set such that the induced voltage va, vb, va-n, and vb-n of the windings 82a, 82b, 83a, 83b, respectively, form a substantially trapezoidal wave with respect to the rotation angle θ. By sequentially switching the four analog switches every 90 degree, the induced voltage va, vb, va-n, and vb-n of the windings 82a, 82b, 83a, 83b are output in sequence. Consequently, the output voltage vo corresponds to a voltage which is in proportion to the rotation velocity. In this system, however, because the number of flux linkages in the selected angle area is not entirely constant, and, because the amplitude ratio varies in the induced voltage va, vb, va-n, and vb-n of the windings 82a, 82b, 83a, 83b, and so on, periodical detection ripples are generated mainly in the switching points of the windings 82a, 82b, 83a, and 83b. 
It is clear that in order to meet the needs for increasing precision and speed of the servo control, an effective means would be to reduce the position control period and the velocity control period to thereby increase the disturbance responsiveness. For this reason, an increase in the processing speed of a CPU available for control operations and a reduction in the control period has been attempted. As a result, the velocity control period in the general machining tool application, which was approximately 1 ms in the middle of 1980's, has been reduced to approximately 100 μs (1/10) to 50 μs (20/1) at the present time.
Reduction in the velocity control period, however, results in disadvantages. Specifically, when a velocity calculation value dθ/dt is obtained by time differentiation of the rotation position θ detected by the position detector, the velocity control period is used as a denominator dt for obtaining the velocity calculation value dθ/dt. Accordingly, the more the velocity control period dt is reduced, the more a positional error contained in the rotation position θ detected by the position detector is reflected in the velocity calculation value dθ/dt. When the velocity control period is reduced to 1/N, for example, a detection error in the position detector and a quantization error due to minimum resolution are amplified by N times compared to the conventional case, and are output in the velocity detection value, and therefore in the output torque. Consequently, the velocity calculation value dθ/dt includes significant high frequency ripples, which leads to torque ripples in the motor rotation. Here, the torque ripples are significantly influenced by the output of the linear amplifier which performs PI control and are less influenced by the output of the integrating amplifier.
At present, due to the greater desire to reduce the velocity control period to increase the velocity feedback sensitivity, the precision and the required resolution of a position detector for the purpose of velocity control are higher than the precision and the required resolution of the position detector for the purpose of position detection. For example, a feed mechanism of a machining tool for performing mirror surface processing in which the motor torque ripples are suppressed to a rated torque ratio below 1% requires a position detector having a precision exceeding 10,000,000 divisions per motor rotation. Thus far, increasing the resolution and the precision of a position detector has been achieved by increasing the periodicity of the interpolation signal per rotation. However, an increase of the number of periods per rotation results in an increase in the signal frequency at the time of motor rotation, which causes a technical problem that, due to the phase delay of an interpolation signal, correction of an electrical and mechanical error cannot be performed with high precision even at the low speed operation.